package com.jsca.device.push;

import java.io.*;
import java.util.ArrayList;
import java.util.List;

/**
 * @name: Test <tb>
 * @title: 请输入类描述  <tb>
 * @author: cuixinfu@51play.com <tb>
 * @date: 2021/8/17 15:59 <tb>
 */
public class DeleteFileLine {
    public static void main(String[] args) throws IOException {

        File inputFile = new File("E:\\测试文件\\unit.ini");

        File tempFile = new File("E:\\测试文件\\newUnit.ini");

        BufferedReader reader = new BufferedReader(new FileReader(inputFile));

        BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile));

        List<String> list = new ArrayList<>();
        list.add("-- 英雄 - 每等级提升敏捷");
        list.add("-- 图标 - 游戏界面");
        list.add("-- 英雄 - 每等级提升智力");
        list.add("-- 英雄 - 主要属性");
        list.add("-- 英雄 - 每等级提升力量");
        list.add("-- 图标 - 计分屏");
        list.add("-- 普通");
        list.add("-- 攻击 1 - 攻击类型");
        list.add("-- 可以逃跑");
        list.add("-- 碰撞体积");
        list.add("-- 可设置死亡掉落物品");
        list.add("-- 模型文件");
        list.add("-- 占用人口");
        list.add("-- 英雄");
        list.add("-- 英雄 - 隐藏英雄死亡信息");
        list.add("-- 英雄 - 隐藏小地图英雄显示");
        list.add("-- 隐藏小地图显示");
        list.add("-- 可在编辑器中放置");
        list.add("-- 类型");
        list.add("-- 称谓数量");
        list.add("-- 生命回复类型");
        list.add("-- 选择缩放");
        list.add("-- 基础速度");
        list.add("-- 转身速度");
        list.add("-- 阴影图像(单位)");
        list.add("-- 单位声音设置");
        list.add("-- 允许攻击模式");
        list.add("-- 攻击 1 - 目标允许");
        list.add("-- 攻击 1 - 武器声音");
        list.add("-- 攻击 1 - 武器类型");
        list.add("-- 作为目标类型");
        list.add("-- 攻击 1 - 范围影响目标");
        list.add("-- 攻击 1 - 伤害骰子面数");
        list.add("-- 选择圈高度");
        list.add("-- 组群分离 - 允许");
        list.add("-- 攻击 1 - 攻击范围");
        list.add("-- 高度");
        list.add("-- 最小高度");
        list.add("-- 颜色值(绿)");
        list.add("-- 攻击 1 - 动画伤害点");
        list.add("-- 可作为中立敌对显示");
        list.add("-- 攻击 1 - 射弹自导允许");
        list.add("-- 攻击 1 - 射弹弧度");
        list.add("-- 攻击 1 - 投射物图像");
        list.add("-- 攻击 1 - 射弹速率");
        list.add("-- 主动攻击范围");
        list.add("-- 攻击 1 - 攻击范围");
        list.add("-- 攻击 1 - 伤害骰子面数");
        list.add("-- 攻击 1 - 目标允许");
        list.add("-- 使用科技");
        list.add("-- 攻击 1 - 武器类型");
        list.add("-- 攻击 1 - 武器声音");
        list.add("-- 模型缩放");
        list.add("-- 选择圈高度");
        list.add("-- 颜色值(绿)");
        list.add("-- 颜色值(红)");
        list.add("-- 攻击 1 - 动画伤害点");
        list.add("-- 攻击 1 - 动画回复点");
        list.add("-- 路径纹理");
        list.add("-- 放置要求");
        list.add("-- 单位类别");
        list.add("-- 建筑地面纹理");
        list.add("-- 循环淡入率");
        list.add("-- 循环淡出率");
        list.add("-- 售出物品");
        list.add("-- 建筑升级");
        list.add("-- 阴影图像(建筑)");
        list.add("-- 建筑升级");

        System.out.print("请输入要替换的字符串,回车键结束:");
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
//        String lineToRemove = br.readLine();
//        if (lineToRemove.equals("end")){
//            System.exit(1);
//        }
        String currentLine;
        boolean flag = false ;
        int i = 0 ;
        while((currentLine = reader.readLine()) != null) {
            // trim newline when comparing with lineToRemove
            //String trimmedLine = currentLine.trim();
            if (flag){
                flag = false;
                continue;
            }
            for (String str : list) {
                if(currentLine.equals(str)){
                    flag = true;
                    i = i+1 ;
                    break;
                }
            }
            if (!flag){
                writer.write(currentLine + System.getProperty("line.separator"));
            }
        }
        writer.close();
        reader.close();
        tempFile.renameTo(inputFile);
        System.out.println("system end!");
        //System.out.println("替换 ["+lineToRemove+"] 次数共：" + i);

    }
}
